<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

<script>
// 英文：
  // element - 元素   ≈   item

var say = function(value, index, array) {
  console.log('say+++', value, index, array);
}

var arr = ['a', 'z', 1, 4, 7];

// for 循环，给 arr 的每个元素，执行 say 这个函数
/* 
  for (var i = 0; i < arr.length; i++) {
    var element = arr[i];
    say(element);
  }
*/

// 数组的迭代方法 forEach
arr.forEach(say);

// 关于 forEach 总结：forEach迭代函数的作用：为arr中的每个元素，执行 say 这个函数

// callback - 回调函数，为数组的每个元素执行一个的函数，即为 回调函数


// 关于{迭代函数}的总结：forEach、every、some、filter、map 均为数组的迭代函数
  // 1. arr.forEach(callbackFn) ， every、some、filter、map 均有回调函数
  // 2. 回调函数的形参，有三个：(value, index, array)

</script>